void *v;
if ( (pool != NULL) && is_persistent(pool) )
- v = tmem_alloc_subpage_thispool(pool,size,align);
+ v = tmem_alloc_subpage_thispool(pool->client->persistent_pool,size,align);
else
v = tmem_alloc_subpage(pool, size, align);
if ( v == NULL )
if ( pool == NULL || !is_persistent(pool) )
tmem_free_subpage(p,size);
else
- tmem_free_subpage_thispool(pool,p,size);
+ tmem_free_subpage_thispool(pool->client->persistent_pool,p,size);
}
static NOINLINE struct page_info *tmem_page_alloc(struct tmem_pool *pool)
struct page_info *pfp = NULL;
if ( pool != NULL && is_persistent(pool) )
- pfp = tmem_alloc_page_thispool(pool);
+ pfp = tmem_alloc_page_thispool(pool->client->domain);
else
pfp = tmem_alloc_page(pool,0);
if ( pfp == NULL )
if ( pool == NULL || !is_persistent(pool) )
tmem_free_page(pfp);
else
- tmem_free_page_thispool(pool,pfp);
+ tmem_free_page_thispool(pfp);
atomic_dec_and_assert(global_page_count);
}
struct domain *d = current->domain;
ASSERT(size == PAGE_SIZE);
- if ( (pi = _tmem_alloc_page_thispool(d)) == NULL )
+ if ( (pi = tmem_alloc_page_thispool(d)) == NULL )
return NULL;
ASSERT(IS_VALID_PAGE(pi));
return page_to_virt(pi);
ASSERT(IS_PAGE_ALIGNED(page_va));
pi = mfn_to_page(virt_to_mfn(page_va));
ASSERT(IS_VALID_PAGE(pi));
- _tmem_free_page_thispool(pi);
+ tmem_free_page_thispool(pi);
}
/****************** XEN-SPECIFIC HOST INITIALIZATION ********************/
#define tmem_client_memory_fully_allocated(_pool) \
domain_fully_allocated(_pool->client->domain)
-static inline void *_tmem_alloc_subpage_thispool(struct xmem_pool *cmem_mempool,
+static inline void *tmem_alloc_subpage_thispool(struct xmem_pool *cmem_mempool,
size_t size, size_t align)
{
#if 0
return NULL;
return xmem_pool_alloc(size, cmem_mempool);
}
-#define tmem_alloc_subpage_thispool(_pool, _s, _a) \
- _tmem_alloc_subpage_thispool(pool->client->persistent_pool, \
- _s, _a)
-static inline void _tmem_free_subpage_thispool(struct xmem_pool *cmem_mempool,
+static inline void tmem_free_subpage_thispool(struct xmem_pool *cmem_mempool,
void *ptr, size_t size)
{
ASSERT( size < tmem_mempool_maxalloc );
ASSERT( cmem_mempool != NULL );
xmem_pool_free(ptr,cmem_mempool);
}
-#define tmem_free_subpage_thispool(_pool, _p, _s) \
- _tmem_free_subpage_thispool(_pool->client->persistent_pool, _p, _s)
-static inline struct page_info *_tmem_alloc_page_thispool(struct domain *d)
+static inline struct page_info *tmem_alloc_page_thispool(struct domain *d)
{
struct page_info *pi;
ASSERT((pi == NULL) || IS_VALID_PAGE(pi));
return pi;
}
-#define tmem_alloc_page_thispool(_pool) \
- _tmem_alloc_page_thispool(_pool->client->domain)
-static inline void _tmem_free_page_thispool(struct page_info *pi)
+static inline void tmem_free_page_thispool(struct page_info *pi)
{
struct domain *d = page_get_owner(pi);
free_domheap_pages(pi,0);
}
}
-#define tmem_free_page_thispool(_pool,_pg) \
- _tmem_free_page_thispool(_pg)
/*
* Memory allocation for ephemeral (non-persistent) data